package project.ccso.top.service;

import java.util.List;

import project.ccso.top.bean.GridPageBean;
import project.ccso.top.bean.PageBean;
import project.ccso.top.entity.Member;

/**
 * 会员Service接口
 * @author aibinxiao
 * @date 2018年8月23日 上午11:02:36
 */
public interface MemberService {

	/**
	 * 判断用户手机号是否注册
	 * @param telphone
	 * @return
	 * @throws Exception
	 */
	boolean findByPhoneNumber(String telphone) throws Exception;

	/**
	 * 用户注册，将用户信息添加到数据库中
	 * @param telphone
	 * @param password
	 * @param province
	 * @param city
	 * @param school
	 * @return
	 * @throws Exception
	 */
	boolean addMember(String telphone, String password, String province, String city, String school) throws Exception;

	/**
	 * 用户登录
	 * @param account
	 * @param password
	 * @return
	 * @throws Exception
	 */
	Member login(String account, String password) throws Exception;

	/**
	 * 新用户注册获取短信验证码
	 * @param telphone
	 * @return
	 * @throws Exception
	 */
	String getSmsCode(String telphone) throws Exception;

	/**
	 * 校验用户输入的短信验证码和产生的验证码是否一致
	 * @param inputSmsCode
	 * @param sessionSmsCode
	 * @return
	 * @throws Exception
	 */
	boolean checkSmsCode(String inputSmsCode, String sessionSmsCode) throws Exception;

	/**
	 * 根据用户Id查询用户信息
	 * @param id
	 * @return
	 */
	Member findById(Integer id);
	
	/**
	 * 根据用户id更新用户基本信息
	 * @param user2
	 * @return
	 */
	Boolean updateMessageById(Member user2);

	/**
	 * 根据用户Id更新用户密码
	 * @param user2
	 * @return
	 */
	Boolean updatePasswordById(Member user2);
	
	/**
	 * 分页查询用户
	 * @param pageNo
	 * @param pageSize
	 * @param id
	 * @param nickName
	 * @param startDate
	 * @param endDate
	 * @return
	 * @throws Exception
	 */
	GridPageBean<Member> findByPage(String pageNoStr, String pageSizeStr, String id, String nickName, String startDate,
			String endDate) throws Exception;

	/**
	 * 启用或屏蔽用户
	 * @param id
	 * @param statusStr
	 * @return
	 * @throws Exception
	 */
	boolean updateShieldStatus(String id, String statusStr) throws Exception;
	
	/*// 1.会员登录的Service接口
	public Member login(String username, String password);

	// 2.验证手机号是否已经注册Service接口
	public boolean findByPhoneNumber(String phoneNumber);

	// 3.用户注册Service接口
	public boolean addMember(Member member);

	// 4.分页查询用户Service接口
	public GridPageBean<Member> findByPage(String page, String rows, String id, String nickName, String startDate,
			String endDate);

	// 5.根据ID屏蔽用户Service接口
	public void updateStatus(String id, String status) throws Exception ;*/
}
 